package com.shelly.singleton.type8;

/**
 * @author: Shelly
 * @create: 2023-01-10 16:57:24
 * @describe: 枚举：真的是最简单
 * 1. 优点
 * 1.1 线程安全: 每个枚举类型及其定义的枚举变量在JVM中都是唯一的：只设置一个变量就实现了单例
 * 1.2 防止反射：枚举类没有构造函数+反射方法中不予许使用反射创建枚举对象，会报异常
 * 1.3 防止序列化：Java做了特殊的规定：在序列化的时候Java仅仅是将枚举对象的name属性输到结果中，反序列化的时候则是
 *                  通过java.lang.Enum的valueOf()方法来根据名字查找枚举对象
 * 1.4 代码简洁
 */
public enum Singleton {
    INSTANCE;

    // 公外部调用的方法
    public void m(){}
}
